#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <vector>

using namespace std;
using LL = long long;

int n, m;
string op[35];

bool check(int x, int y){
    for(int i = 0; i < m; i ++){
        if(op[x][i] == 'x' && op[y][i] == 'x') return false;
    }
    return true;
}


int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n >> m;

    for(int i = 1; i <= n; i ++) cin >> op[i];

    int res = 0;
    for(int i = 1; i <= n; i ++){
        for(int j = i + 1; j <= n; j ++){
            if(check(i, j)) res ++;
        }
    }

    cout << res << endl;



    return 0;
}